#ifndef __NETWORK_H__
#define __NETWORK_H__

#include <stdio.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <strings.h>
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/wait.h>
#include <fcntl.h>

#include "MyLog.h"

// #ifdef __cplusplus
// #if __cplusplus
// extern "C" {
// #endif
// #endif




class network{

    typedef struct sockaddr_in sockaddr_in;
    MyLog *log = nullptr;

public:
    static network *getinstence();
    bool CreateServer(in_port_t server_port,in_addr_t ipv4_addr = INADDR_ANY);
    void *AcceptTCPConnect(void *arg);
private:
    sockaddr_in server;
    socklen_t serverLen;
    int serverFd;
    sockaddr_in client;
    socklen_t clientLen;
    int clientFd;

private:
    network();
    ~network();
    network(const network &net) = delete;
    network & operator=(const network &net) = delete;

    
};













// #ifdef __cplusplus
// #if __cplusplus
// }
// #endif
// #endif

#endif
